﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Modelo;
using Servicios;

namespace AppFerreteria.Producto
{
    public partial class frmAltaProducto : Form
    {
        enum tipoaccion
        {
            Agregar,
            Modificar
        }


        public frmAltaProducto()
        {
            InitializeComponent();
        }

        private void frmAltaProducto_Load(object sender, EventArgs e)
        {
            txtFechaAlta.Text = DateTime.Now.ToString("dd/MM/yyyy");

            cboAccion.Text = "Agregar";
            cboAccion.Items.Add(tipoaccion.Agregar);
            cboAccion.Items.Add(tipoaccion.Modificar);
            //btnBuscarCodigo.BackgroundImage = Image.FromFile(@"C:\Users\lencina\Pictures\pruebabuscar.png");
            //btnBuscarCodigo.BackgroundImage.Size = PictureBoxSizeMode.StretchImage;

            bntAgregar.Visible = true;
            btnModificar.Visible = false;
            btnBuscarCodigo.Visible = false;

            cboProveedor.DataSource = new ProveedorService().GetProveedores();
            cboProveedor.DisplayMember = "Nombre";
            cboProveedor.ValueMember = "ProveedorId";

        }

        private void button2_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog dlg = new OpenFileDialog())
            {
                dlg.Title = "Open Image";
                dlg.Filter = "JPEG files (*.jpg)|*.jpg";
                
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    PictureBox PictureBox1 = new PictureBox();
                   
                    PictureBox1.Image = new Bitmap(dlg.FileName);
                    pictureBox1.Image = PictureBox1.Image;
                    pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
                }
            }
        }


        private void button1_Click(object sender, EventArgs e)
        {
            if (txtCodigo.Text == "" || txtNombre.Text == "")
                 MessageBox.Show("Los campos obligatorios no pueden permanecer vacío");               
      

            else
            {
                Articulo articulo = new Articulo();

                articulo.Codigo = txtCodigo.Text;
                articulo.Nombre = txtNombre.Text;
                articulo.Descripcion = txtDescrpcion.Text;
                articulo.PrecioCompra = Convert.ToInt32(txtPrecioCosto.Text);
                articulo.PrecioVenta = Convert.ToInt32(txtPrecioVenta.Text);
                articulo.Cantidad = Convert.ToInt32(txtStockInicial.Text);

                new ArticuloService().AddArticulo(articulo);
                              
            }
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            if (txtPrecioVenta.Text != "")
            {
                int precioVenta = Convert.ToInt32(txtPrecioCosto.Text) + (Convert.ToInt32(txtPrecioCosto.Text) * Convert.ToInt32(txtPorcentaje.Text) / 100);
                txtPrecioVenta.Text = precioVenta.ToString();

            }
            else
                MessageBox.Show("Para calcular es necesario completar el campo 'Precio Costo'");
            
        }
          

        private void btnBuscarCodigo_Click(object sender, EventArgs e)
        {
            frmBuscarProducto objfrmBuscarProducto = new frmBuscarProducto();
            objfrmBuscarProducto.Show();
        }

        private void cboAccion_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboAccion.Text == "Modificar")
            {
                bntAgregar.Visible = false;
                btnModificar.Visible = true;
                btnBuscarCodigo.Visible = true;
            }
            if (cboAccion.Text == "Agregar")
            {
                bntAgregar.Visible = true;
                btnModificar.Visible = false;
                btnBuscarCodigo.Visible = false;
            }
        }

        private void btnModificar_Click(object sender, EventArgs e)
        {
            if (txtCodigo.Text == "" || txtNombre.Text == "")
                MessageBox.Show("Los campos obligatorios no pueden permanecer vacío");
        }

        private void txtSalir_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void txtPrecioCosto_TextChanged(object sender, EventArgs e)
        {
            if (System.Text.RegularExpressions.Regex.IsMatch(txtPrecioCosto.Text, "[^0-9^,]"))
            {
                MessageBox.Show("Please enter only numbers.");
                txtPrecioCosto.Text.Remove(txtPrecioCosto.Text.Length - 1);
            }
        }

        private void txtPrecioVenta_TextChanged(object sender, EventArgs e)
        {
            if (System.Text.RegularExpressions.Regex.IsMatch(txtPrecioVenta.Text, "[^0-9^,]"))
            {
                MessageBox.Show("Please enter only numbers.");
                txtPrecioVenta.Text.Remove(txtPrecioVenta.Text.Length - 1);
            }
        }

        

    }
}
